Obsidian Dataview
作为 Obsidian 用户,一定听说过 Dataview。这是 Obsidian 下最著名且最强大的插件之一。Dataview 是什么呢?它是一个实时的索引和查询引擎。在本文中,我将记录我对 Dataview 的入门心得。
Dataview 的用法是这样的:首先,我们给笔记添加元数据(metadata)。Dataview 与 SQL 非常相似,以 select...from
的形式编写查询语句,不同指出在与,from 是路径或特定的 Obsidian 知识库内容,而 select 的是 metada。
以官网的“每日笔记中记录睡眠”的案例为例,假设我们给日记添加元数据字段,记录睡眠时长。然后可以创建一个新笔记,在笔记内部插入一段 Dataview,from 所有日记,选择“睡眠时长”这一项元信息,汇总成一个表格。这样,我们便得到了睡眠时间表。
Dataview 是一个实时查询引擎,始终保持查询最新。那笔记多了之后,性能会不会吃不消呢?毕竟 Obsidian 只是文件系统,而非建立索引的关系数据库。根据官网所说:“Dataview非常通用且性能出色,可轻松扩展至数十万条带注释的笔记。”对于这么强大的性能,我很佩服,后续有时间,得拜读一下实现原理。
Dataview 的扩展性特别强大,如果查询语言(query language)无法满足需求,可以直接使用更加底层的 dataview API 编写 JavaScript 脚本,将自由度完全给到开发者。
应用案例
笔记枯燥的概念,先将 Dataview 应用案例更加令人激动。如果案例中哪里看不懂了,再看基础理论部分,如果还是不懂,可以直接找 Maeiee 交流~
日记是 0.0 Obsidian 介绍 的自带功能。了解了 Dataview 之后我才发现,原来 Dataview 能赋予日记功能这么多新花样!
基础概念
在 0.0 Obsidian 介绍 中,每篇笔记除了正文之外,还有元数据(metadata),元数据中包含笔记的基本属性,比如创建时间、路径目录等,也允许用户通过
Front Matter
语法自定义。常用的元数据比如tags
(标签)、aliases
(别名)。DataView 则支持检索这些元数据,并通过语句进行查询操作。
数据索引:Dataview 只能识别笔记的元数据(metadata)。
数据查询:
- 创建查询的方法:创建一个新笔记,插入一个代码块,语言为 dataview,在代码块内部编写 dataview 语句。光标离开代码块后,代码块区域将被自动执行,变为 dataview 展示列表/表格。
- 查询语句有 3 中编写方法:
- Dataview Query Language (DQL) :类似于 SQL,后续小节中将详细介绍
- 内联语句(inline statement)
- JavaScript 查询:直接使用更加底层的 dataview API 编写 JavaScript 脚本,功能最为强大
官网
- DataView 文档:https://blacksmithgu.github.io/obsidian-dataview/
- 5 Simple Ways I Use Dataview in Obsidian:https://secularshepherdess.medium.com/5-simple-ways-i-use-dataview-in-obsidian-2812b89ad136
本文作者:Maeiee
本文链接:Obsidian Dataview
版权声明:如无特别声明,本文即为原创文章,版权归 Maeiee 所有,未经允许不得转载!
喜欢我文章的朋友请随缘打赏,鼓励我创作更多更好的作品!